using System.Collections;
using System.Collections.Generic;
using UnityEngine;


/// <summary>
/// 网络处理组件
/// </summary>

namespace KFGame
{
    [DisallowMultipleComponent]
    public class KFNetWork : MonoBehaviour
    {

        private static NetWork _net;

        private void Awake()
        {
            _net = new NetWork();
            _net.onCallBack += oncallback;
            _net.doEvnet += toMessage;
        }


        public delegate void RequestMessage(string tag, string url, int id, string message);

        public RequestMessage onMessage;
        public delegate void CALLBACK(string name, string url, string datas);
        public CALLBACK onCallBack;

        public void Post(string tag, string url, WWWForm form = null, Dictionary<string, string> requestHeader = null)
        {
            StartCoroutine(_net.PostRequest(tag, url, form, requestHeader));
        }
        public void AsyGet(string name, string url)
        {

            StartCoroutine(_net.ASYGET(name, url));
        }
        public void AsyPost(string name, string url, string datas)
        {

            StartCoroutine(_net.ASYPOST(name, url, datas));
        }
        public void AsyPost(WebRequestData datas)
        {

            StartCoroutine(_net.ASYPOST(datas));
        }

        void oncallback(string name, string url, string datas)
        {
            if (onCallBack != null)
                onCallBack(name, url, datas);

        }

        void toMessage(string tag, string url, int id, string message)
        {
            if (onMessage != null)
                onMessage(tag, url, id, message);
        }

    }
}